package models

import "gorm.io/gorm"

type Good struct {
	gorm.Model
	GoodsTitle  string  `gorm:"type:varchar(30);comment:商品标题"`
	GoodsImage  string  `gorm:"type:varchar(300);comment:商品标题"`
	GoodsInfo   string  `gorm:"type:varchar(300);comment:商品标题"`
	GoodsPrice  float64 `gorm:"type:decimal(10,2);default:0.00;comment:商品价格"`
	GoodsStock  int64   `gorm:"type:int;default:0;comment:商品库存"`
	GoodsStatus int64   `gorm:"type:int(11);default:0;comment:商品状态: 0未上架 1已上架"`
	Status      int64   `gorm:"type:int(11);default:0;comment:审核状态: 0未审核 1已审核"`
}

// 商品发布
func (g *Good) Create() error {
	return DB.Create(&g).Error
}

// 商品审核
func (g *Good) UpdateStatus() error {
	return DB.Model(&Good{}).Where("id = ?", g.ID).Update("status", g.Status).Error
}

// 商品展示
func (g *Good) List() (goodsList []*Good, err error) {
	err = DB.Where("status = ?", g.Status).Find(&goodsList).Error
	return
}
